home *** CD-ROM | disk | FTP | other *** search
/ CD School House 9 / CD School House 9.0 - Wayzata Technology (1994).iso / pc / games / mac / __adventureland__ / __adventure_helpers__ / dungeon_mastery_2_0 / dm_reference / stack_-1.xml < prev    next >
Extensible Markup Language  |  1992-05-24  |  12KB  |  16 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE stack PUBLIC "-//Apple, Inc.//DTD stack V 2.0//EN" "" >
  3. <stack>
  4.     <name>in</name>
  5.     <id>-1</id>
  6.     <cardCount>16</cardCount>
  7.     <cardID>5967</cardID>
  8.     <listID>2111</listID>
  9.     <cantModify><false /></cantModify>
  10.     <cantDelete><false /></cantDelete>
  11.     <cantAbort><false /></cantAbort>
  12.     <cardSize>
  13.         <width>512</width>
  14.         <height>342</height>
  15.     </cardSize>
  16.     <script>ΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöNavigational HandlersΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöon openstackglobal DMmenu,MnstrMenu,MagicMenu,EquipMenuput NewMenu("DM","Help...","Preferences...","(-","Dice...",┬¼"Sort Cards","Show Cards","(-","Notebook") into DMmenuput cd fld "Monster Index" of cd 1 of bg "bMnstr" into MnstrMenuput cd fld "Magic Index" of cd 1 of bg "cwiz" into MagicMenuput cd fld "Equip Index" of cd 1 of bg "eItem" into EquipMenuend openstackon closeStackglobal DMmenuif the freeSize of this stack>15000 thensulvldoMenu "compact stack"rulvlend ifget deleteMenu(DMmenu)end closeStackon doMenu which        --  get our menu items before HyperCard doesif which is      "Help..."        thensend mouseup to bg btn "help"else if which is "Preferences..." then prefelse if which is "Dice..." thenask "Specify dice to roll..." with "d20"answer "The result is"&&rolldice(it)&"." with "OK"else if which is "Sort Cards" then sortemelse if which is "Show Cards" then showcdelse if which is "Notebook"   then gonoteselse if which is "-"          then exit doMenuelse pass doMenu  --  Remember to pass untrapped menu commands!end doMenuon closebackgroundglobal bmnstr,cwizdo "put the long name of this card into"&&the short name of this backgroundend closebackgroundon gonextget id of last card of this backgroundvisual wipe leftif id of this card is it then go to card 1 of this backgroundelse go to next cardend gonexton goprevget id of card 1 of this backgroundvisual wipe rightif id of this card is it then go to last card of this backgroundelse go to previous cardend goprevon godmvisual scroll upgo to card 1 of "Dungeon Mastery"end godmon goadvglobal advvisual scroll upif adv is empty then go "the adventure to open"else go advend goadvon goencglobal encvisual scroll upif enc is empty then go to card 1 of background "Enc" of "Dungeon Mastery"else go encend goencon goexpglobal expvisual scroll upif exp is empty then go to card 1 of background "Exp" of "Dungeon Mastery"else go expend goexpon gocomglobal comvisual scroll upif com is empty then go to card 1 of background "Com" of "Dungeon Mastery"else go comend gocomon gonotesglobal notesvisual scroll upif notes is empty then go to card 1 of background "Notes" of "Dungeon Mastery"else go notesend gonoteson goutilvisual scroll upgo to card "Utilities" of "Dungeon Mastery"end goutilon goherovisual scroll upgo to card 1 of background "ahero" of "DM Reference"end goheroon gomnstrglobal bmnstrvisual scroll upchkbgif bmnstr is empty then go to card 1 of background "bmnstr" of "DM Reference"else go bmnstrend gomnstron gowizglobal cwizvisual dissolvechkbgif cwiz is empty then go to card 1 of background "cwiz" of "DM Reference"else go cwizend gowizon goitmvisual scroll upgo to card 1 of background "eitem" of "DM Reference"end goitmon gocallock screengo to card 1 of background "cal" of "Dungeon Mastery"if line 2 of field id 76 is not empty then go to line 2 of field id 76unlock screen with visual scroll upend gocalon chkbgif the short name of the target is the short name of this background thengo to card 1 of this backgroundexit to hypercardend ifend chkbgΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöPreferences HandlersΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöon prefglobal hldcdpush cardpop card into hldcdlock screengo to card 1 of this backgroundif the short name of this bg is "ahero" thenrepeat with i=18 to 24show button id iend repeatshow button "OK"show card field "backdrop"show card field "descript"elseshow cd field "Preferences"show cd button "OK"if the short name of this bg is "bmnstr" then put "monster" into nmelse if the short name of this bg is "cwiz" then put "magic" into nmelse if the short name of this bg is "eitem" then put "equip" into nmset the locktext of cd field (nm&&"Index") to falseset the Style of cd field (nm&&"Index") to rectangleset the showlines of cd field (nm&&"Index") to trueshow cd field (nm&&"Index")end ifunlock screen with visual zoom openend prefΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöSort Cards HandlersΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöon sortemlockem trueset cursor to busyput the id of this cd into rtncdput the number of this background into bgnumsort by backgroundSort(bgnum)go to rtncdend sortemfunction backgroundSort bgnumset cursor to busyif the number of this bg <> bgnum thenreturn the short name of this backgroundelsedo "put (the short name of this bg)&(bg field Cat"&bgnum&┬¼")&(bg field Name"&bgnum&") into bgsrt"return bgsrtend ifend backgroundSortΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöShow Cards HandlersΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöon showcdput number of this card into thiscdlock screengo to last card of this backgroundput number of this card into lastcdgo to card thiscdunlock screenshow (lastcd-thiscd) cardsend showcdΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöHelp HandlersΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöon gohelp winnamelock screenpush cardgo to first card of this backgroundhide card picturehide card button "obscure 1"show card button winnameshow card button "Close box"if the short name of this background is "aHero" thenset the scroll of field "descript" to 0set the locktext of field "descript" to truehide card field "Party"else if the short name of this background is "bMnstr" thenset the scroll of field "descript" to 0set the locktext of field "descript" to trueif the visible of cd btn "OK" is false thenhide card field "Monster Index"end ifelse if the short name of this background is "cWiz" thenshow card field "Magic Help"if the visible of cd btn "OK" is false thenhide card field "Magic Index"end ifelse if the short name of this background is "eItem" thenshow card field "Equipment Help"if the visible of cd btn "OK" is false thenhide card field "Equip Index"end ifend ifunlock screen with visual zoom openend gohelpon closehelp winnamelock screenshow card pictureshow card button "obscure 1"hide card button winnamehide card button "Close box"if the short name of this background is "aHero" thenset the locktext of field "descript" to falseshow card field "Party"else if the short name of this background is "bMnstr" thenset the locktext of field "descript" to falseshow card field "Monster Index"else if the short name of this background is "cWiz" thenhide card field "Magic Help"show card field "Magic Index"else if the short name of this background is "eItem" thenhide card field "Equipment Help"show card field "Equip Index"end ifpop cardunlock screen with visual zoom closeend closehelpΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöUtility HandlersΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöΓÇöon lockem whichset lockscreen to whichset lockmessages to whichset lockrecent to whichend lockemon sulvlglobal ulsvput the userlevel into ulsvif ulsv < 4 then set the userLevel to 4end sulvlon rulvlglobal ulsvset the userLevel to ulsvend rulvlfunction clklnreturn ((item 2 of the clickloc - item 2 of the rect of the target)┬¼div the textheight of the target) + 1end clklnon nick nmglobal nknmput nm into field "nickname"if chknm() is false thenset the name of this card to nmput "true" into nknmexit nickend ifend nickfunction chknmput true into chkput field "nickname" into nmput the id of this card into nmidpush cardgo to card nmif the id of this card is nmid then put false into chkpop cardreturn chkend chknmfunction rolldice typeput interp(type) into cmdbput empty into rollrepeat with i=1 to item 1 of cmdbrepeat with j=1 to item 2 of cmdbadd random(item 3 of cmdb) to rollend repeatadd item 4 of cmdb to rollend repeatreturn rollend rolldicefunction interp typeput ",,," into cmdbif "x" is in type then put 1 into itmelse put 2 into itmrepeat with i=1 to length of typeput character i of type into chrif chr is "x" then put 2 into itmelse if chr is "d" then put 3 into itmelse if chr is "+" or chr is "-" thenif chrΓëá"+" then put chr into item 4 of cmdbput 4 into itmelse put chr after item itm of cmdbend repeatif item 1 of cmdb is empty then put 1 into item 1 of cmdbif item 2 of cmdb is empty then put 1 into item 2 of cmdbif item 3 of cmdb is empty then put 1 into item 3 of cmdbif item 4 of cmdb is empty then put 0 into item 4 of cmdbreturn cmdbend interpon svthrw clvrput item 1 of clvr into clsput item 2 of clvr into lvput item 3 of clvr into rcif lv=0 then savtab "16,18,17,20,19"elseif cls is "Warrior" thenif      lv>16 then savtab "3,5,4,4,6"else if lv>14 then savtab "4,6,5,4,7"else if lv>12 then savtab "5,7,6,5,8"else if lv>10 then savtab "7,9,8,8,10"else if lv> 8 then savtab "8,10,9,9,11"else if lv> 6 then savtab "10,12,11,12,13"else if lv> 4 then savtab "11,13,12,13,14"else if lv> 2 then savtab "13,15,14,16,16"else               savtab "14,16,15,17,17"else if cls is "Priest" thenif      lv>18 then savtab "2,6,5,8,7"else if lv>15 then savtab "4,8,7,10,9"else if lv>12 then savtab "5,9,8,11,10"else if lv> 9 then savtab "6,10,9,12,11"else if lv> 6 then savtab "7,11,10,13,12"else if lv> 3 then savtab "9,13,12,15,14"else               savtab "10,14,13,16,15"else if cls is "Rogue" thenif      lv>20 then savtab "8,4,7,11,5"else if lv>16 then savtab "9,6,8,12,7"else if lv>12 then savtab "10,8,9,13,9"else if lv> 8 then savtab "11,10,10,14,11"else if lv> 4 then savtab "12,12,11,15,13"else               savtab "13,14,12,16,15"else if cls is "Wizard" thenif      lv>20 then savtab "8,3,5,7,4"else if lv>15 then savtab "10,5,7,9,6"else if lv>10 then savtab "11,7,9,11,8"else if lv> 5 then savtab "13,9,11,13,10"else               savtab "14,11,13,15,12"end ifend ifif rc is "Dwarf" or rc is "Halfling" or rc is "Gnome" thenput trunc(2*(line 2 of field "Abilities")/7) into svadjsubtract svadj from field "Staff/Wand"subtract svadj from field "Spells"if rc is not "Gnome" then subtract svadj from field "Poison Sv"end ifif the short name of this background is "aHero" thenif "paladin" is in line 1 of field "Char Info" thensubtract 2 from field "Paralyze"subtract 2 from field "Poison Sv"subtract 2 from field "Staff/Wand"subtract 2 from field "Petrify/Polymorph"subtract 2 from field "Breath Weapon"subtract 2 from field "Spells"end ifend ifend svthrwon savtab valput item 1 of val into field "Paralyze"if the short name of this background is "aHero"┬¼then put item 1 of val into field "Poison Sv"put item 2 of val into field "Staff/Wand"put item 3 of val into field "Petrify/Polymorph"put item 4 of val into field "Breath Weapon"put item 5 of val into field "Spells"end savtabon wpndmg iput line i of field "weapon" into wpnif line i of field "weapon damage" is empty thenput empty into wadj--general weaponsif "sword" is in wpn or "axe" is in wpn or "bow" is in wpn thenput "1d8" into wadjelse if "mace" is in wpn or "flail" is in wpn thenput "1d6+1" into wadjelse if "hammer" is in wpn or "sling" is in wpn thenput "1d4+1" into wadjelse if "staff" is in wpn or "club" is in wpn thenput "1d6" into wadjelse if "dagger" is in wpn thenput "1d4" into wadjelse if "dart" is in wpn or "knife" is in wpn thenput "1d3" into wadjend if--specific weaponsif wpn is "2-hand sword" thenput "1d10" into wadjelse if wpn is "broad sword" or wpn is "morning star" or┬¼wpn is "khopesh" thenput "2d4" into wadjelse if wpn is "scimitar" thenput "1d8" into wadjelse if wpn is "trident" thenput "1d6+1" into wadjelse if wpn is "short sword" or wpn is "spear" thenput "1d6" into wadjelse if wpn is "sickle" thenput "1d4+1" into wadjelse if wpn is "hand axe" or wpn is "throwing axe" or wpn is "dirk"┬¼or wpn is "scourge" thenput "